package com.zxcrm.zxcrm.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zxcrm.common.annotation.Excel;
import com.zxcrm.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 商机对象 zxcrm_business_opportunity
 * 
 * @author xu
 * @date 2025-07-08
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ZxcrmBusinessOpportunity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 客户id */
    @Excel(name = "客户id")
    private Long customerId;

    /** 联系人id */
    @Excel(name = "联系人id")
    private String contactIds;

    /** 销售流程（1预估客户订单 2客户开发 3招投标 4服务 5其它） */
    @Excel(name = "销售流程", readConverterExp = "1=预估客户订单,2=客户开发,3=招投标,4=服务,5=其它")
    private String salesProcess;

    /** 商机名称（本人-客户名称-产品名字-日期） */
    @Excel(name = "商机名称", readConverterExp = "本=人-客户名称-产品名字-日期")
    private String bussinessOpportunity;

    /** 商机类型 */
    @Excel(name = "商机类型")
    private String businessOppportunityType;

    /** 流感（三价）-预计成交数量 */
    @Excel(name = "流感（三价）-预计成交数量")
    private String trivalentInfluenzaEstimatedTransactionQuantity;

    /** 流感（三价）-预计成交金额（元） */
    @Excel(name = "流感（三价）-预计成交金额（元）")
    private String trivalentInfluenzaEstimatedTransactionAmount;

    /** 流感（三价）-实际成交数量 */
    @Excel(name = "流感（三价）-实际成交数量")
    private String trivalentInfluenzaActualTransactionQuantity;

    /** 流感（三价）-实际成交金额（元） */
    @Excel(name = "流感（三价）-实际成交金额（元）")
    private String trivalentInfluenzaActualTransactionAmount;

    /** 流感（四价）-预计成交数量 */
    @Excel(name = "流感（四价）-预计成交数量")
    private String quadrivalentInfluenzaEstimatedTransactionQuantity;

    /** 流感（四价）-预计成交金额（元） */
    @Excel(name = "流感（四价）-预计成交金额（元）")
    private String quadrivalentInfluenzaEstimatedTransactionAmount;

    /** 流感（四价）-实际成交数量 */
    @Excel(name = "流感（四价）-实际成交数量")
    private String quadrivalentInfluenzaActualTransactionQuantity;

    /** 流感（四价）-实际成交金额（元） */
    @Excel(name = "流感（四价）-实际成交金额（元）")
    private String quadrivalentInfluenzaActualTransactionAmount;

    /** 水痘（预充）-预计成交数量 */
    @Excel(name = "水痘（预充）-预计成交数量")
    private String prefilledChickenpoxEstimatedTransactionQuantity;

    /** 水痘（预充）-预计成交金额（元） */
    @Excel(name = "水痘（预充）-预计成交金额（元）")
    private String prefilledChickenpoxEstimatedTransactionAmount;

    /** 水痘（预充）-实际成交数量 */
    @Excel(name = "水痘（预充）-实际成交数量")
    private String prefilledChickenpoxActualTransactionQuantity;

    /** 水痘（预充）-实际成交金额（元） */
    @Excel(name = "水痘（预充）-实际成交金额（元）")
    private String prefilledChickenpoxActualTransactionAmount;

    /** 水痘（西林）-预计成交数量 */
    @Excel(name = "水痘（西林）-预计成交数量")
    private String penicillinChickenpoxEstimatedTransactionQuantity;

    /** 水痘（西林）-预计成交金额（元） */
    @Excel(name = "水痘（西林）-预计成交金额（元）")
    private String penicillinChickenpoxEstimatedTransactionAmount;

    /** 水痘（西林）-实际成交数量 */
    @Excel(name = "水痘（西林）-实际成交数量")
    private String penicillinChickenpoxActualTransactionQuantity;

    /** 水痘（西林）-实际成交金额（元） */
    @Excel(name = "水痘（西林）-实际成交金额（元）")
    private String penicillinChickenpoxActualTransactionAmount;

    /** 肺炎（预充）-预计成交数量 */
    @Excel(name = "肺炎（预充）-预计成交数量")
    private String prefilledPneumoniaEstimatedTransactionQuantity;

    /** 肺炎（预充）-预计成交金额（元） */
    @Excel(name = "肺炎（预充）-预计成交金额（元）")
    private String prefilledPneumoniaEstimatedTransactionAmount;

    /** 肺炎（预充）-实际成交数量 */
    @Excel(name = "肺炎（预充）-实际成交数量")
    private String prefilledPneumoniaActualTransactionQuantity;

    /** 肺炎（预充）-实际成交金额（元） */
    @Excel(name = "肺炎（预充）-实际成交金额（元）")
    private String prefilledPneumoniaActualTransactionAmount;

    /** 肺炎（西林）-预计成交数量 */
    @Excel(name = "肺炎（西林）-预计成交数量")
    private String penicillinPneumoniaEstimatedTransactionQuantity;

    /** 肺炎（西林）-预计成交金额（元） */
    @Excel(name = "肺炎（西林）-预计成交金额（元）")
    private String penicillinPneumoniaEstimatedTransactionAmount;

    /** 肺炎（西林）-实际成交数量 */
    @Excel(name = "肺炎（西林）-实际成交数量")
    private String penicillinPneumoniaActualTransactionQuantity;

    /** 肺炎（西林）-实际成交金额（元） */
    @Excel(name = "肺炎（西林）-实际成交金额（元）")
    private String penicillinPneumoniaActualTransactionAmount;

    /** EV71（预充）-预计成交数量 */
    @Excel(name = "EV71（预充）-预计成交数量")
    private String prefilledEv71EstimatedTransactionQuantity;

    /** EV71（预充）-预计成交金额（元） */
    @Excel(name = "EV71（预充）-预计成交金额（元）")
    private String prefilledEv71EstimatedTransactionAmount;

    /** EV71（预充）-实际成交数量 */
    @Excel(name = "EV71（预充）-实际成交数量")
    private String prefilledEv71ActualTransactionQuantity;

    /** EV71（预充）-实际成交金额（元） */
    @Excel(name = "EV71（预充）-实际成交金额（元）")
    private String prefilledEv71ActualTransactionAmount;

    /** EV71（西林）-预计成交数量 */
    @Excel(name = "EV71（西林）-预计成交数量")
    private String penicillinEv71EstimatedTransactionQuantity;

    /** EV71（西林）-预计成交金额（元） */
    @Excel(name = "EV71（西林）-预计成交金额（元）")
    private String penicillinEv71EstimatedTransactionAmount;

    /** EV71（西林）-实际成交数量 */
    @Excel(name = "EV71（西林）-实际成交数量")
    private String penicillinEv71ActualTransactionQuantity;

    /** EV71（西林）-实际成交金额（元） */
    @Excel(name = "EV71（西林）-实际成交金额（元）")
    private String penicillinEv71ActualTransactionAmount;

    /** 破伤风疫苗-预计成交数量 */
    @Excel(name = "破伤风疫苗-预计成交数量")
    private String tetanusVaccineEstimatedTransactionQuantity;

    /** 破伤风疫苗-预计成交金额（元） */
    @Excel(name = "破伤风疫苗-预计成交金额（元）")
    private String tetanusVaccineEstimatedTransactionAmount;

    /** 破伤风疫苗-实际成交数量 */
    @Excel(name = "破伤风疫苗-实际成交数量")
    private String tetanusVaccineActualTransactionQuantity;

    /** 破伤风疫苗-实际成交金额（元） */
    @Excel(name = "破伤风疫苗-实际成交金额（元）")
    private String tetanusVaccineActualTransactionAmount;

    /** 狂犬疫苗-预计成交数量 */
    @Excel(name = "狂犬疫苗-预计成交数量")
    private String rabiesVaccineEstimatedTransactionQuantity;

    /** 狂犬疫苗-预计成交金额（元） */
    @Excel(name = "狂犬疫苗-预计成交金额（元）")
    private String rabiesVaccineEstimatedTransactionAmount;

    /** 狂犬疫苗-实际成交数量 */
    @Excel(name = "狂犬疫苗-实际成交数量")
    private String rabiesVaccineActualTransactionQuantity;

    /** 狂犬疫苗-实际成交金额（元） */
    @Excel(name = "狂犬疫苗-实际成交金额（元）")
    private String rabiesVaccineActualTransactionAmount;

    /** 流脑四价-预计成交数量 */
    @Excel(name = "流脑四价-预计成交数量")
    private String quadrivalentMeningococcalEstimatedTransactionQuantity;

    /** 流脑四价-预计成交金额（元） */
    @Excel(name = "流脑四价-预计成交金额（元）")
    private String quadrivalentMeningococcalEstimatedTransactionAmount;

    /** 流脑四价-实际成交数量 */
    @Excel(name = "流脑四价-实际成交数量")
    private String quadrivalentMeningococcalActualTransactionQuantity;

    /** 流脑四价-实际成交金额（元） */
    @Excel(name = "流脑四价-实际成交金额（元）")
    private String quadrivalentMeningococcalActualTransactionAmount;

    /** 实际成交日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际成交日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualTransactionDate;

    /** 预计回款金额（元） */
    @Excel(name = "预计回款金额", readConverterExp = "元=")
    private String expectedCollectionAmount;

    /** 实际回款金额（元） */
    @Excel(name = "实际回款金额（元）")
    private String actualCollectionAmount;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    @Excel(name = "商机阶段")
    private String stage;

    private String orderLoseReason;

    private Date lastFollowTime;

    private Date nextContactTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private String userName;

    private String deptName;

    private String companyName;

    private List<ZxcrmBussinessProduct> productList;

    private List<ZxcrmBusinessContact> contactList;

    private Long contactId;

}
